import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;

/**
 * Fenêtre de reprise après réparation des erreurs
 * 
 * @author H201
 * 
 */
public class FenetreReprise extends JDialog implements ActionListener {

	/**
	 * ID de la fenêtre
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Controleur principal
	 */
	private ControleurFenetrePrincipale ctrl;

	/**
	 * Boutons des options possibles
	 */
	private JButton RepriseNormale, SupprimerCarton, ArretLot;

	/**
	 * Constructeur de FenetreReprise. Crée et affiche la fenêtre.
	 * 
	 * @param ctrl2
	 *            Controleur principal
	 */
	public FenetreReprise(ControleurFenetrePrincipale ctrl2) {

		ctrl = ctrl2;

		setTitle("Erreur réparées");
		setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

		JPanel pan = new JPanel(new BorderLayout());
		JPanel panButtons = new JPanel();

		JLabel message = new JLabel(
				"              Erreurs Réparées : Que voulez-vous faire ?");
		pan.add(message, BorderLayout.CENTER);

		RepriseNormale = new JButton("Reprise Normale");
		RepriseNormale.setBorder(new javax.swing.border.BevelBorder(
				BevelBorder.RAISED, Color.GRAY, Color.DARK_GRAY));
		RepriseNormale.setPreferredSize(new Dimension(140, 30));

		SupprimerCarton = new JButton("Supprimer carton en cours");
		SupprimerCarton.setBorder(new javax.swing.border.BevelBorder(
				BevelBorder.RAISED, Color.GRAY, Color.DARK_GRAY));
		SupprimerCarton.setPreferredSize(new Dimension(210, 30));

		ArretLot = new JButton("Arrêt lot");
		ArretLot.setBorder(new javax.swing.border.BevelBorder(
				BevelBorder.RAISED, Color.GRAY, Color.DARK_GRAY));
		ArretLot.setPreferredSize(new Dimension(90, 30));

		RepriseNormale.addActionListener(this);
		SupprimerCarton.addActionListener(this);
		ArretLot.addActionListener(this);

		panButtons.add(RepriseNormale);
		panButtons.add(SupprimerCarton);
		panButtons.add(ArretLot);

		pan.add(panButtons, BorderLayout.SOUTH);
		setContentPane(pan);
		pack();

		setMinimumSize(new Dimension(getSize().width + 10,
				getSize().height + 20));
		setLocationRelativeTo(null);
		setVisible(true);
	}

	/**
	 * Envoie un message suivant le bouton cliqué.
	 */
	@Override
	public void actionPerformed(ActionEvent arg0) {
		if (arg0.getSource() == RepriseNormale) {
			ctrl.envoi("113");
			dispose();
		} else if (arg0.getSource() == SupprimerCarton) {
			ctrl.envoi("114");
			dispose();
		} else if (arg0.getSource() == ArretLot) {
			ctrl.envoi("115");
			dispose();
		}
	}

}
